import config from './config.js'
import { getCurrentNo } from "./APPUpdate"
import { formatGetUri } from './util.js'
import md5 from './md5.js'
import tools from './tools.js'
const request = {}
const headers = {}
const PORT1 = '/baseinfo'
    
request.globalRequest = (url, method, data, power) => {
    switch (power){
        case 1:
            headers['Authorization'] = 'Basic a3N1ZGk6a3N1ZGk='
            break;
        case 2:
            headers['Authorization'] = 'Basic a3N1ZGlfcGM6a3N1ZGlfcGM='
            break;
        case 3:
            responseType = 'blob'
            break;
        default:
            headers['Authorization'] = `Bearer ${
                this.$store.getters.userInfo
            }`
            headers['TENANT-ID'] = this.$store.getters.userInfo.tenant_id
            break;
    }
    headers['Content-Type']='application/x-www-form-urlencoded';
	
	data.version=''
	// #ifdef APP-PLUS 
	data.version=plus.runtime.version;
	// #endif
	
	if(data.version == ''){
		data.version=config.version
	}
	//封装请求公共参数
	data.user_id=user_info_id()
	data.source=config.source
	data.timestamp=(Date.parse(new Date()).toString()).substr(0,10)
	let sign=config.sign+data.timestamp+data.user_id
	data.sign=md5.hexMD5(sign)
	return uni.request({
		url: config.domain + url,
		method,
		data: data,
		dataType: 'json',
		header: headers
	}).then(res => {
		if (res[1].data.code && res[1].data.code == -1) {
　　　　　　	uni.showToast({
				title: res[1].data.msg,
				icon: 'none'
			})
			return res[1].data
		} else {
			return res[1].data
		}
	}).catch(parmas => {
　　　　　　switch (parmas.code) {
　　　　　　　　case 401:
　　　　　　　　　　uni.clearStorageSync()
　　　　　　　　　　break
　　　　　　　　default:
　　　　　　　　　　uni.showToast({
　　　　　　　　　　　　title: parmas.message,
　　　　　　　　　　　　icon: 'none'
　　　　　　　　　　})
　　　　　　　　　　return Promise.reject()
　　　　　　　　　　break
　　　　　　}
　　})
 }
 
 
 /**
  * 获取当前登录人的user_id
  */
 function user_info_id(){
	let user_id = tools.get_storage_sync('id')
	if((user_id == undefined) || user_id == ''){
		return 1
	}else{
		return user_id
	}
 }
 

export default request